// 将Boolean函数当作"转换函数"使用
// 即将Boolean当作普通函数使用并把非boolean值转换为boolean值

// 若未指定参数值则返回 false (原始值)
let first = Boolean();
console.log( first, typeof first );

// 若参数值为 0 或 -0 则返回 false (原始值)
let second = Boolean(0);
console.log( second, typeof second );

// 若参数值为 null 则返回 false (原始值)
let third = Boolean(null);
console.log( third, typeof third );

// 若参数值为 undefined 则返回 false (原始值)
let fourth = Boolean(undefined);
console.log( fourth, typeof fourth );

// 若参数值为 NaN 则返回 false (原始值)
let fifth = Boolean(NaN);
console.log( fifth, typeof fifth );

// 若参数值为 空字符串 则返回 false (原始值)
let sixth = Boolean('');
console.log( sixth, typeof sixth );

// 若参数值为 false 则返回 false (原始值)
let x = Boolean(false);
console.log( x, typeof x );

// 若参数值为 非空字符串 则返回 true (原始值)
let y = Boolean('false');
console.log( y, typeof y );

// 若参数值为 对象(即实例) 则返回 true (原始值)
let s = Boolean( {} );
console.log( s, typeof s );

// 若参数值为 数组 则返回 true (原始值)
let t = Boolean( [] );
console.log( t, typeof t);

// 参考文档
// https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Boolean